2017-07-09 17:41:28 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2010-08-02 08:37:57 +00:00
|
|
|
ActiveRecord::Schema.define do
|
2015-05-04 10:01:24 +00:00
|
|
|
|
2016-08-06 16:26:20 +00:00
|
|
|
if ActiveRecord::Base.connection.version >= "5.6.0"
|
2015-05-04 10:01:24 +00:00
|
|
|
create_table :datetime_defaults, force: true do |t|
|
2016-08-06 16:26:20 +00:00
|
|
|
t.datetime :modified_datetime, default: -> { "CURRENT_TIMESTAMP" }
|
2015-05-04 10:01:24 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-10-11 12:45:55 +00:00
|
|
|
create_table :timestamp_defaults, force: true do |t|
|
|
|
|
t.timestamp :nullable_timestamp
|
|
|
|
t.timestamp :modified_timestamp, default: -> { "CURRENT_TIMESTAMP" }
|
|
|
|
end
|
|
|
|
|
2012-10-16 09:53:18 +00:00
|
|
|
create_table :binary_fields, force: true do |t|
|
|
|
|
t.binary :var_binary, limit: 255
|
|
|
|
t.binary :var_binary_large, limit: 4095
|
2015-09-13 07:24:38 +00:00
|
|
|
t.tinyblob :tiny_blob
|
|
|
|
t.blob :normal_blob
|
|
|
|
t.mediumblob :medium_blob
|
|
|
|
t.longblob :long_blob
|
|
|
|
t.tinytext :tiny_text
|
|
|
|
t.text :normal_text
|
|
|
|
t.mediumtext :medium_text
|
|
|
|
t.longtext :long_text
|
2010-08-02 08:37:57 +00:00
|
|
|
|
2015-09-13 07:24:38 +00:00
|
|
|
t.index :var_binary
|
|
|
|
end
|
2012-10-16 09:53:18 +00:00
|
|
|
|
2016-08-06 16:26:20 +00:00
|
|
|
create_table :key_tests, force: true, options: "ENGINE=MyISAM" do |t|
|
2013-03-27 04:30:11 +00:00
|
|
|
t.string :awesome
|
|
|
|
t.string :pizza
|
|
|
|
t.string :snacks
|
2016-08-06 16:26:20 +00:00
|
|
|
t.index :awesome, type: :fulltext, name: "index_key_tests_on_awesome"
|
|
|
|
t.index :pizza, using: :btree, name: "index_key_tests_on_pizza"
|
|
|
|
t.index :snacks, name: "index_key_tests_on_snack"
|
2013-03-27 04:30:11 +00:00
|
|
|
end
|
|
|
|
|
2014-11-10 04:53:27 +00:00
|
|
|
create_table :collation_tests, id: false, force: true do |t|
|
2016-08-06 16:26:20 +00:00
|
|
|
t.string :string_cs_column, limit: 1, collation: "utf8_bin"
|
|
|
|
t.string :string_ci_column, limit: 1, collation: "utf8_general_ci"
|
2016-02-21 02:28:11 +00:00
|
|
|
t.binary :binary_column, limit: 1
|
2014-11-10 04:53:27 +00:00
|
|
|
end
|
|
|
|
|
2010-08-02 08:37:57 +00:00
|
|
|
ActiveRecord::Base.connection.execute <<-SQL
|
|
|
|
DROP PROCEDURE IF EXISTS ten;
|
|
|
|
SQL
|
|
|
|
|
|
|
|
ActiveRecord::Base.connection.execute <<-SQL
|
|
|
|
CREATE PROCEDURE ten() SQL SECURITY INVOKER
|
|
|
|
BEGIN
|
|
|
|
select 10;
|
|
|
|
END
|
2015-10-11 07:44:49 +00:00
|
|
|
SQL
|
|
|
|
|
|
|
|
ActiveRecord::Base.connection.execute <<-SQL
|
|
|
|
DROP PROCEDURE IF EXISTS topics;
|
|
|
|
SQL
|
|
|
|
|
|
|
|
ActiveRecord::Base.connection.execute <<-SQL
|
|
|
|
CREATE PROCEDURE topics(IN num INT) SQL SECURITY INVOKER
|
|
|
|
BEGIN
|
|
|
|
select * from topics limit num;
|
|
|
|
END
|
2011-10-09 11:38:36 +00:00
|
|
|
SQL
|
|
|
|
|
2015-03-02 16:35:05 +00:00
|
|
|
ActiveRecord::Base.connection.drop_table "enum_tests", if_exists: true
|
2012-06-27 10:10:36 +00:00
|
|
|
|
|
|
|
ActiveRecord::Base.connection.execute <<-SQL
|
|
|
|
CREATE TABLE enum_tests (
|
2016-01-30 16:07:02 +00:00
|
|
|
enum_column ENUM('text','blob','tiny','medium','long','unsigned','bigint')
|
2012-06-27 10:10:36 +00:00
|
|
|
)
|
|
|
|
SQL
|
2012-02-25 15:35:58 +00:00
|
|
|
end
|