Specifying column name in a “references” migration

For Rails 5+ Initial Definition: If you are defining your Post model table, you can set references, index and foreign_key in one line: t.references :author, index: true, foreign_key: { to_table: :users } Update Existing: If you are adding references to an existing table, you can do this: add_reference :posts, :author, foreign_key: { to_table: :users } … Read more

Add timestamps to an existing table

The timestamp helper is only available in the create_table block. You can add these columns by specifying the column types manually: class AddTimestampsToUser < ActiveRecord::Migration def change_table add_column :users, :created_at, :datetime, null: false add_column :users, :updated_at, :datetime, null: false end end While this does not have the same terse syntax as the add_timestamps method you … Read more

Check if a table exists in Rails

In Rails 5 the API became explicit regarding tables/views, collectively data sources. # Tables and views ActiveRecord::Base.connection.data_sources ActiveRecord::Base.connection.data_source_exists? ‘kittens’ # Tables ActiveRecord::Base.connection.tables ActiveRecord::Base.connection.table_exists? ‘kittens’ # Views ActiveRecord::Base.connection.views ActiveRecord::Base.connection.view_exists? ‘kittens’ In Rails 2, 3 & 4 the API is about tables. # Listing of all tables and views ActiveRecord::Base.connection.tables # Checks for existence of kittens table/view … Read more

Add a reference column migration in Rails 4

Rails 4.x When you already have users and uploads tables and wish to add a new relationship between them. All you need to do is: just generate a migration using the following command: rails g migration AddUserToUploads user:references Which will create a migration file as: class AddUserToUploads < ActiveRecord::Migration def change add_reference :uploads, :user, index: … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)