Skip to content

Instantly share code, notes, and snippets.

@Leko
Created October 7, 2015 14:12
Show Gist options
  • Save Leko/56c64361336454f97b8f to your computer and use it in GitHub Desktop.
Save Leko/56c64361336454f97b8f to your computer and use it in GitHub Desktop.
Schemaリベンジ マイグレーション

共通属性

  • required
  • minLength

採用

  • boolean(MySQL:BOOLEAN PostgreSQL:BOOLEAN SQLite3:INTEGER)
  • integer(MySQL:{TINYINT,SMALLINT,INT,MEDIUMINT,BIGINT} PostgreSQL:{SMALLINT,INT,BIGINT} SQLite3:INTEGER)
    • min
    • max
  • numeric(MySQL:{FLOAT,DOUBLE,DECIMAL,NUMERIC,FIXED} PostgreSQL:{REAL,DOUBLE PRECISION,NUMERIC} SQLite3:REAL)
    • timezone
  • string(MySQL:{TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT,(VAR)CHAR} PostgreSQL:{CHARACTER( VARYING),TEXT} SQLite3:TEXT)
    • maxLength
    • minLength
    • variable
    • pattern
  • binary(MySQL:{BINARY,VARBINARY,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB} PostgreSQL:BYTEA SQLite3:BLOB)
    • maxLength
    • minLength
    • variable
  • datetime(MySQL:DATETIME PostgreSQL:TIMESTAMP SQLite3:TEXT)
  • bit(MySQL:BIT PostgreSQL:BIT( VARYING) SQLite3:TEXT)
  • enum(MySQL:ENUM PostgreSQL:ENUM SQLite3:TEXT)

不採用

  • YEAR(MySQL)
  • DATE(MySQL)
  • TIME(MySQL)
  • TIMESTAMP(MySQL)
  • SET(MySQL)
  • BOX(PostgreSQL)
  • UUID(PostgreSQL)
  • XML(PostgreSQL)
  • CIDR(PostgreSQL)
  • INET(PostgreSQL)
  • CIRCLE(PostgreSQL)
  • INTERVAL(PostgreSQL)
  • LINE(PostgreSQL)
  • LSEG(PostgreSQL)
  • MACADDR(PostgreSQL)
  • MONEY(PostgreSQL)
  • PATH(PostgreSQL)
  • POINT(PostgreSQL)
  • POLYGON(PostgreSQL)
  • TSQUERY(PostgreSQL)
  • TSVECTOR(PostgreSQL)
  • TXID_SNAPSHOT(PostgreSQL)
  • NULL(SQLite3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment