Commit Graph

145 Commits

Author SHA1 Message Date
ssh24 dc1e0d8050 Extract functions to base connector
move getAddModifyColumns and getDropColumns to base
2017-03-20 10:34:47 -04:00
ssh24 a02047b643 Refactor alter table
Include fk with autoupdate/migrate

Some tests are failing due to timeout, looking into it
should check actuality of dataSource fails, looking into it

Fix actuality of ds test

Fix autoupdate test timeout

Fix requested changes

Fix to checkOnly for isActual
2017-03-17 17:21:10 -04:00
Christiaan Westerbeek b67b57970f Return if column is generated or not (#198)
* Return if column is generated or not

Related to
https://github.com/strongloop/loopback-datasource-juggler/issues/899

* add pk for testgen table

* Fixe the double quotes around generated

as requested by @loay

* Fix commit linter

Block must not be padded by blank lines padded-blocks

* Code fixes to follow guide

* Should fix the tests failing

Test failing on the tableName (incorrect case)
2017-03-08 18:56:27 -05:00
ssh24 ab644d9fea Refactor migration methods
Fix timeout error on tests

Signed-off-by: Sakib Hasan <sshasan10@hotmail.com>

add showFields and showIndexes functions

Extract getTableStatus

Extract columnDataType to base connector
2017-03-02 15:49:30 -05:00
Loay 820bf03400 Refactor Discovery Methods 2017-02-28 16:06:51 -05:00
Matthew Dickinson 6848b72e22 Remove old TODO and commented out code 2017-02-18 21:10:04 -05:00
Matthew Dickinson 5ba6687c7c Fix autoupdate to create foreign keys after tables
Updated the autoupdate function so that it collects foreign key
statements and runs them once all tables have been updated.
This prevents foreign keys being created before referenced tables.
2017-02-17 11:25:19 -05:00
Matthew Dickinson 24c6b77a6f Add logging for errors encountered in discovery 2017-02-17 11:25:19 -05:00
Matthew Dickinson 0b04d461e4 Update signature for alterTable
Since alterTable is semi-public, the method now checks the arugments to
make sure that it still supports the old signature that doesn't include
actualFks
2017-02-17 11:25:19 -05:00
Matthew Dickinson d461d07f34 Limit foreign key creation current connector
Updated fk generation to make sure that it doesn't try to create
foreign keys linking to another DB/connector
2017-02-17 11:25:19 -05:00
Matthew Dickinson 4d20fa7746 Fix linting error 2017-02-17 11:25:19 -05:00
Matthew Dickinson 940032f4dd Update foreign key creation table name handling 2017-02-17 11:25:19 -05:00
Matthew Dickinson 782959cf20 Update alterTable to actually drop constraints 2017-02-17 11:25:19 -05:00
Matthew Dickinson 1324333ffd Add rough handling for automatic foreign keys
This handles basic creating/dropping of FKs based on model relations
2017-02-17 11:25:19 -05:00
Carl Fürstenberg 5383c4c0ff Follow mysql recommendations for handling booleans
Per http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html
`BOOL` and `BOOLEAN` is alias for `TINYINT(1)` thus we should make
sure discover can handle as such.

Introducing three flags:

* treatCHAR1AsString
  default false - treats CHAR(1) as a String instead of a Boolean
* treatBIT1AsBit
  default true - treats BIT(1) as a Boolean instead of a Binary
* treatTINYINT1AsTinyInt
  default true - treats TINYINT(1) as a Boolean instead of a Number

The default handling for CHAR(1) is legacy backward compability due to
custom to use a CHAR(1) to store 'Y', 'N', '0', '1', etc...
2017-01-11 19:44:50 -08:00
muhammad hasan 0f1b14b158 Fix expected column name when autoupdate
Fix mysql column name being ignored on dataType change or new column
being added
Fix mysql column name ignored if index changed

Add column name case on autoupdate test

Fix test case scheme error

Fix describe test
2016-12-12 10:06:18 -05:00
Loay Gewily fce2207da3 Fix CI Failures 2016-12-07 23:53:46 -05:00
Ron Lloyd a96d61fa9f Autoupdate mysql.columnName bug fix 2016-09-13 22:21:11 -06:00
deepakrkris 22c1700af8 Fix to configure model index in keys field
This is a fix for issue 109,for model indexes not configured
per strongloop documentation
2016-08-15 12:51:56 -04:00
Raymond Feng 5fec12a00c Merge pull request #179 from azatoth/zero_datetime
Add special handling of zero date/time entries
2016-08-11 09:03:14 -07:00
Loay 9c9b61e7dc Update eslint infrastructure 2016-08-10 20:04:26 -04:00
Carl Fürstenberg 1ee79768f2 Add special handling of zero date/time entries
Per MySQL docs
(http://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html):

  "MySQL permits you to store a “zero” value of '0000-00-00' as a
  “dummy date.” This is in some cases more convenient than using NULL
  values, and uses less data and index space. To disallow '0000-00-00',
  enable the NO_ZERO_DATE mode.

  “Zero” date or time values used through Connector/ODBC are converted
  automatically to NULL because ODBC cannot handle such values."

As we are not using Connector/ODBC we need to handle this ourself.
2016-07-29 14:59:24 +02:00
Candy b55ae36e79 Add globalization 2016-07-28 17:20:03 -04:00
juehou 658635e72c Add function connect 2016-05-12 15:56:48 -04:00
Ryan Graham 340a4eb0f6
insert/update copyright notices 2016-05-03 16:52:03 -07:00
juehou 12cf967b7b Override other settings if url provided
Handle url in config
Override other settings if url provided
2016-04-06 23:31:23 -04:00
Amir Jafarian f572f920a4 Implement ReplaceOrCreate 2016-01-15 19:12:38 -05:00
Diogo Correia 8569c9812a Pass options to the execute command. 2015-10-11 17:08:25 +01:00
Simon Ho 22bebe3c4a Add support for RegExp operator 2015-07-28 17:24:31 -07:00
Raymond Feng 1bfaf1a783 Start to add transaction support 2015-05-18 12:02:25 -07:00
Raymond Feng c5d3b67bfe Fix the typo 2015-05-14 08:39:36 -07:00
Raymond Feng be54c1a407 Refactor the code to use base SqlConnector 2015-05-13 10:17:15 -07:00
Raymond Feng f6e4c228eb Return isNewInstance from upsert 2015-04-01 16:25:23 -07:00
Simon Ho ff538b09c8 Return count when updating or deleting models 2015-03-26 11:26:41 -07:00
Raymond Feng 1d2dd5e9fb Merge pull request #78 from strongloop/feature/allow-object-id
Allow models backed by MySQL to reference mongodb ObjectID
2015-03-09 15:55:43 -07:00
Raymond Feng fbe9ee078d Merge pull request #79 from partap/discovery-string-length
Query string length for schema in characters in addition to bytes
2015-03-09 15:55:24 -07:00
ulion f316b8ca7d Fix mysql neq for NULL value. 2015-03-08 22:57:36 +08:00
Partap Davis 0964a2634a replace dataLength instead of adding length property 2015-03-07 20:09:10 -07:00
Raymond Feng 634a0a94bc Allow models backed by MySQL to reference mongodb ObjectID 2015-03-04 22:55:33 -08:00
Partap Davis 1ee0c2f3bb Query string length for schema in characters in addition to bytes 2015-03-02 15:10:19 -07:00
Raymond Feng 2422c4c6f0 Update deps 2015-02-20 16:15:15 -08:00
Raymond Feng 8b860890e8 Fix the loop of models 2015-01-15 14:21:49 -08:00
Raymond Feng 0116dbfa1c Merge pull request #69 from glesage/feature/fix-missing-ok
Fixed missing 'ok' declaration
2015-01-15 14:11:49 -08:00
Geoffroy Lesage 0772223908 Set ok default to false 2015-01-15 16:09:47 -06:00
Geoffroy Lesage 0511830a12 Fixed missing 'ok' 2015-01-15 16:08:41 -06:00
Geoffroy Lesage bc2dc4e6a2 Changed default type mapping 2015-01-15 15:59:50 -06:00
Raymond Feng aa157b1050 Merge pull request #63 from glesage/feature/fix-isActual
Fixed isActual implemenation
2015-01-14 14:49:24 -08:00
Raymond Feng de299aed9f Merge pull request #60 from serkanserttop/fix-inherit-schema-from-datasource
Inherit Schema From DataSource if not defined
2015-01-14 14:48:22 -08:00
Raymond Feng 7fe8306db2 Use mysql.escape/escapeId() 2015-01-09 09:02:36 -08:00
Geoffroy Lesage 9d3ab6fc42 Fixed isActual syntax to accept optional model arg 2015-01-08 10:29:55 -06:00