diff options
Diffstat (limited to 'config/database.cr')
-rw-r--r-- | config/database.cr | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/config/database.cr b/config/database.cr new file mode 100644 index 0000000..ac60f1a --- /dev/null +++ b/config/database.cr @@ -0,0 +1,29 @@ +database_name = "diskfloppydotme_#{LuckyEnv.environment}" + +AppDatabase.configure do |settings| + if LuckyEnv.production? + settings.credentials = Avram::Credentials.parse(ENV["DATABASE_URL"]) + else + settings.credentials = Avram::Credentials.parse?(ENV["DATABASE_URL"]?) || Avram::Credentials.new( + database: database_name, + hostname: ENV["DB_HOST"]? || "localhost", + port: ENV["DB_PORT"]?.try(&.to_i) || 5432, + # Some common usernames are "postgres", "root", or your system username (run 'whoami') + username: ENV["DB_USERNAME"]? || "postgres", + # Some Postgres installations require no password. Use "" if that is the case. + password: ENV["DB_PASSWORD"]? || "postgres" + ) + end +end + +Avram.configure do |settings| + settings.database_to_migrate = AppDatabase + + # In production, allow lazy loading (N+1). + # In development and test, raise an error if you forget to preload associations + settings.lazy_load_enabled = LuckyEnv.production? + + # Always parse `Time` values with these specific formats. + # Used for both database values, and datetime input fields. + # settings.time_formats << "%F" +end |