Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/Developing/Models/Creating ...
Это старая версия Manual/Developing/Models/Creating за 2009-02-13 22:25:22..

Создание таблиц базы данных


CakePHP спланирован быть независимым и будет работать с MySQL, MSSQL, Oracle, PostgreSQL и другими СУБД. Вы можете создавать таблицы в базе данных, как обычно. Когда вы создадите классы моделей, то автоматически будет устанавлено соответствие с созданными таблицами.


По соглашению имена таблицам даются во множественном числе и пишутся строчными буквами. Если имя таблицы состоит из нескольких слов, то слова надо разделять символом подчеркивания. Например, модели Ingredient должна соответствовать таблица с именем ingredients. Модели с именем EventRegistration – таблица event_registrations. CakePHP исследует ваши таблицы для определения типов данных каждого поля и использует эту информацию для автоматизации различных функциональных возможностей, например, таких, как вывод полей в отображение.


Имена полей, по соглашению, состоят из строчных букв и разделяются, при необходимости, символом подчеркивания.


Далее в этом разделе, вы узнаете, как  ставит в соответствие типы полей базы данных и типы данных PHP, и как CakePHP может автоматизировать задачи на основе того, как определены ваши поля.



Ассоциации типов данных


Каждая СУБД определяет типы данных немного по разному. С помощью класса источников данных для каждой СУБД, CakePHP ставит в соответствие эти типы тому, что он распознал и создает единообразный интерфейс. Поэтому, не имеет значение на какой СУБД вам необходимо запустить приложение.
В таблицах ниже представлено соответствие для различных СУБД.



MySQL


CakePHP Type Field Properties
primary_key NOT NULL auto_increment
string varchar(255)
text text
integer int(11)
float float
datetime datetime
timestamp datetime
time time
date date
binary blob
boolean tinyint(1)


MySQLi


CakePHP Type Field Properties
primary_key DEFAULT NULL auto_increment
string varchar(255)
text text
integer int(11)
float float
datetime datetime
timestamp datetime
time time
date date
binary blob
boolean tinyint(1)


ADOdb


CakePHP Type Field Properties
primary_key R(11)
string C(255)
text X
integer I(11)
float N
datetime T (Y-m-d H:i:s)
timestamp T (Y-m-d H:i:s)
time T (H:i:s)
date T (Y-m-d)
binary B
boolean L(1)


DB2


CakePHP Type Field Properties
primary_key not null generated by default as identity (start with 1, increment by 1)
string varchar(255)
text clob
integer integer(10)
float double
datetime timestamp (Y-m-d-H.i.s)
timestamp timestamp (Y-m-d-H.i.s)
time time (H.i.s)
date date (Y-m-d)
binary blob
boolean smallint(1)


Firebird/Interbase


CakePHP Type Field Properties
primary_key IDENTITY (1, 1) NOT NULL
string varchar(255)
text BLOB SUB_TYPE 1 SEGMENT SIZE 100 CHARACTER SET NONE
integer integer
float float
datetime timestamp (d.m.Y H:i:s)
timestamp timestamp (d.m.Y H:i:s)
time time (H:i:s)
date date (d.m.Y)
binary blob
boolean smallint


MS SQL


CakePHP Type Field Properties
primary_key IDENTITY (1, 1) NOT NULL
string varchar(255)
text text
integer int
float numeric
datetime datetime (Y-m-d H:i:s)
timestamp timestamp (Y-m-d H:i:s)
time datetime (H:i:s)
date datetime (Y-m-d)
binary image
boolean bit


Oracle


CakePHP Type Field Properties
primary_key number NOT NULL
string varchar2(255)
text varchar2
integer numeric
float float
datetime date (Y-m-d H:i:s)
timestamp date (Y-m-d H:i:s)
time date (H:i:s)
date date (Y-m-d)
binary bytea
boolean boolean
number numeric
inet inet


PostgreSQL


CakePHP Type Field Properties
primary_key serial NOT NULL
string varchar(255)
text text
integer integer
float float
datetime timestamp (Y-m-d H:i:s)
timestamp timestamp (Y-m-d H:i:s)
time time (H:i:s)
date date (Y-m-d)
binary bytea
boolean boolean
number numeric
inet inet


SQLite


CakePHP Type Field Properties
primary_key integer primary key
string varchar(255)
text text
integer integer
float float
datetime datetime (Y-m-d H:i:s)
timestamp timestamp (Y-m-d H:i:s)
time time (H:i:s)
date date (Y-m-d)
binary blob
boolean boolean


Sybase


CakePHP Type Field Properties
primary_key numeric(9,0) IDENTITY PRIMARY KEY
string varchar(255)
text text
integer int(11)
float float
datetime datetime (Y-m-d H:i:s)
timestamp timestamp (Y-m-d H:i:s)
time datetime (H:i:s)
date datetime (Y-m-d)
binary image
boolean bit


 
Комментарии
про UUID не знал до этого :)
178.44.252.219 (2011-09-16 02:16:08)
вау спасибо про uuid'ы
95.105.114.159.dynamic.orsk.ufanet.ru (2011-11-23 17:00:44)
Добавить комментарий:

Файлов нет. [Показать файлы/форму]