public function test_new_sequence() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "\n CREATE SEQUENCE public.mysecuence\n INCREMENT 1\n MINVALUE 1\n MAXVALUE 9223372036854775807\n START 342;"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_function() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "\n CREATE OR REPLACE FUNCTION public.hello(name character varying) RETURNS character varying\n LANGUAGE plpgsql AS \$function\$\n BEGIN\n RETURN 'Hello ' || name;\n END;\n \$function\$\n "; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_constraints() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "\n CREATE TABLE public.products(\n \"product_no_unique\" integer,\n \"name\" text,\n \"price\" numeric,\n CONSTRAINT products_product_no_unique_key UNIQUE (\"product_no_unique\")\n );"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_function() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "DROP FUNCTION public.hello(varchar);"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_drop_constraints() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "ALTER TABLE public.products DROP CONSTRAINT \"products_price_check\" CASCADE;"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_foreing_keys() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "ALTER TABLE public.weather ADD CONSTRAINT \"weather_city_fkey\" FOREIGN KEY (\"city\") REFERENCES public.cities (city) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION;"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_constraints() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "\n CREATE TABLE public.products( \"product_no\" numeric(3, 0),\n \"name\" text,\n \"price\" numeric(3, 0),\n CONSTRAINT products_price_check CHECK (price > (0)::numeric) );"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_new_view() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(2, $diff[0]['diff']); $expected = "\n DROP VIEW public.myview;"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_table_with_different_colums_databases() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "CREATE TABLE public.testtable(\n \"userid\" character varying NOT NULL,\n \"id\" numeric,\n CONSTRAINT testtable_pkey PRIMARY KEY (\"userid\")\n );\n "; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_new_table() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(1, $diff[0]['diff']); $expected = "\n CREATE TABLE public.testtable(\n \"userid\" character varying NOT NULL,\n \"password\" character varying NOT NULL,\n \"myid\" numeric,\n \"surname\" character varying,\n CONSTRAINT testtable_pkey PRIMARY KEY (\"userid\")\n );"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }
public function test_new_view() { $dbVc = new Db(); $dbVc->setMaster(new DbConn($this->conf['devel'])); $dbVc->setSlave(new DbConn($this->conf['devel2'])); $diff = $dbVc->raw('public'); $this->assertCount(1, $diff); $this->assertCount(2, $diff[0]['diff']); $expected = "\n CREATE OR REPLACE VIEW public.myview AS\n SELECT testtable.userid,\n testtable.password,\n testtable.name,\n testtable.surname\n FROM testtable\n WHERE ((testtable.surname)::text = 'x'::text);"; $this->assertEquals(StringParser::trimLines($expected), StringParser::trimLines($diff[0]['diff'][0])); }